package mx.ipn.presentacion.facturacion;

import java.util.GregorianCalendar;

import com.trolltech.qt.gui.QDialog;

import mx.ipn.presentacion.ConexionConNegocios;
import mx.ipn.presentacion.facturacion.ui.*;
import mx.ipn.to.FacturaTO;
import com.trolltech.qt.gui.QTableWidgetItem;
public class VerFactura extends QDialog{
    Ui_VerFactura ver;
	public FacturaTO  facturato;
	FacturaTO  []arrfacturato;
	QTableWidgetItem newItem=null;
	GregorianCalendar f1 = new GregorianCalendar();
	int idfactura;
    public VerFactura(){
		ver = new Ui_VerFactura();
		ver.setupUi(this);
		ver.tableWidget.setRowCount(1);
		ver.tableWidget.itemClicked.connect(this,"selectFactura()");
		ver.pushButton.clicked.connect(this, "buscar()");
		//this.show();
	}
    public VerFactura(QDialog parent){
		
	}
    public void selectFactura()
    {
    	QTableWidgetItem newItem=null;
		int fila = ver.tableWidget.currentRow();
		newItem = ver.tableWidget.item(fila,0);
		idfactura= Integer.parseInt(newItem.text());
		for(int j=0;j<arrfacturato.length;j++){
        	if(arrfacturato[j].getIdFactura()==idfactura)
        		facturato=arrfacturato[j];
    	  }
    }
    public boolean rango(java.util.Date fecha,int mes, int anio)
    {
    	boolean flag=false;
    	f1.setTime(fecha);
    	if(f1.get(GregorianCalendar.MONTH ) ==mes && f1.get(GregorianCalendar.YEAR )==anio)
    		flag=true;
    	return flag;
    }
    public void buscar(){
    	String mes= ver.comboBox.currentText();
    	int anio= Integer.parseInt(ver.lineEdit.text());
    	arrfacturato=(FacturaTO[])ConexionConNegocios.invocaServicio("selectFactura",FacturaTO[].class);
    	if(arrfacturato!=null){
			ver.tableWidget.clearContents();
			ver.tableWidget.setRowCount(arrfacturato.length);
	        for(int i=0;i<arrfacturato.length;i++)
	        	ver.tableWidget.insertRow(i);
	        int i=0;
	        for(int j=0;j<arrfacturato.length;j++){
	        	if(rango(arrfacturato[j].getFecha(),getMes(mes),anio)){
	        	newItem = new QTableWidgetItem(String.valueOf(arrfacturato[j].getIdFactura()));
	    	    ver.tableWidget.setItem(i,0,newItem);
	    	    newItem = new QTableWidgetItem(arrfacturato[j].getRegistro());
	    	    ver.tableWidget.setItem(i,1,newItem); 
	    	    newItem = new QTableWidgetItem(String.valueOf(arrfacturato[j].getFecha()));
	    	    ver.tableWidget.setItem(i,2,newItem); 
	    	    newItem = new QTableWidgetItem(String.valueOf(arrfacturato[j].getTotal()));
	    	    ver.tableWidget.setItem(i,3,newItem);
	    	    i++;
	        	}
	    	  }
		}
    }
    public int getMes(String mes){
    	int nmes=-1;
    	if(mes.compareToIgnoreCase("Enero")==0)
    		nmes=0;
    	if(mes.compareToIgnoreCase("Febrero")==0)
    		nmes=1;
    	if(mes.compareToIgnoreCase("Marzo")==0)
    		nmes=2;
    	if(mes.compareToIgnoreCase("Abril")==0)
    		nmes=3;
    	if(mes.compareToIgnoreCase("Mayo")==0)
    		nmes=4;
    	if(mes.compareToIgnoreCase("Junio")==0)
    		nmes=5;
    	if(mes.compareToIgnoreCase("Julio")==0)
    		nmes=6;
    	if(mes.compareToIgnoreCase("Agosto")==0)
    		nmes=7;
    	if(mes.compareToIgnoreCase("Septiembre")==0)
    		nmes=8;
    	if(mes.compareToIgnoreCase("Octubre")==0)
    		nmes=9;
    	if(mes.compareToIgnoreCase("Noviembre")==0)
    		nmes=10;
    	if(mes.compareToIgnoreCase("Diciembre")==0)
    		nmes=11;
    	return nmes;
    }
}
